/*
 * IPublisher.java
 *
 * Created on 17 April 2007, 08:34
 *
 */

package com.extrosoft.publish;

/**
 * The Interface IPublisher can publish, set/get name|config
 * 
 * @author sureshnath
 */
public interface IPublisher {
    
    /**
     * Publish.
     * 
     * @param responseUpdate the response update
     * 
     * @return Result - result of the publish action
     */
    public Result publish(IResponse responseUpdate);

    /**
     * Gets the name.
     * 
     * @return the name
     */
    public String getName();

    /**
     * Sets the name.
     * 
     * @return the name
     */
    public String setName(String name);
    
    /**
     * Gets the config value.
     * 
     * @param key the key
     * 
     * @return the config value
     */
    public String getConfigValue(String key) ;
    
    /**
     * Save config value.
     * 
     * @param key the key
     * @param value the value
     */
    public void saveConfigValue(String key, String value) ;

}
